Reinstate the accidentally lost addition of
authorMatthias Clasen <mclasen@redhat.com>
Sat, 9 Oct 2004 04:26:11 +0000 (04:26 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Sat, 9 Oct 2004 04:26:11 +0000 (04:26 +0000)
2004-10-09  Matthias Clasen  <mclasen@redhat.com>

* gtk/gtkactiongroup.h:
* gtk/gtkactiongroup.c: Reinstate the accidentally lost addition
of gtk_action_group_translate_string().

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkactiongroup.c
gtk/gtkactiongroup.h

index d1af62029f84a2b2ca67167ac460d2e6b7d94880..7489f2135cf826b3a30b445f908181ef665c9ca4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2004-10-09  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkactiongroup.h: 
+       * gtk/gtkactiongroup.c: Reinstate the accidentally lost addition 
+       of gtk_action_group_translate_string().
+
        * gtk/gtkaccelgroup.h: Declare gtk_accelerator_get_label.
 
 2004-10-08  Matthias Clasen  <mclasen@redhat.com>
index d1af62029f84a2b2ca67167ac460d2e6b7d94880..7489f2135cf826b3a30b445f908181ef665c9ca4 100644 (file)
@@ -1,5 +1,9 @@
 2004-10-09  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkactiongroup.h: 
+       * gtk/gtkactiongroup.c: Reinstate the accidentally lost addition 
+       of gtk_action_group_translate_string().
+
        * gtk/gtkaccelgroup.h: Declare gtk_accelerator_get_label.
 
 2004-10-08  Matthias Clasen  <mclasen@redhat.com>
index d1af62029f84a2b2ca67167ac460d2e6b7d94880..7489f2135cf826b3a30b445f908181ef665c9ca4 100644 (file)
@@ -1,5 +1,9 @@
 2004-10-09  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkactiongroup.h: 
+       * gtk/gtkactiongroup.c: Reinstate the accidentally lost addition 
+       of gtk_action_group_translate_string().
+
        * gtk/gtkaccelgroup.h: Declare gtk_accelerator_get_label.
 
 2004-10-08  Matthias Clasen  <mclasen@redhat.com>
index d1af62029f84a2b2ca67167ac460d2e6b7d94880..7489f2135cf826b3a30b445f908181ef665c9ca4 100644 (file)
@@ -1,5 +1,9 @@
 2004-10-09  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkactiongroup.h: 
+       * gtk/gtkactiongroup.c: Reinstate the accidentally lost addition 
+       of gtk_action_group_translate_string().
+
        * gtk/gtkaccelgroup.h: Declare gtk_accelerator_get_label.
 
 2004-10-08  Matthias Clasen  <mclasen@redhat.com>
index 6c30c41ee619ce937c853138ec93b59be24f55e2..729b7104dbae5a25c125960101f21adcb4b746a6 100644 (file)
@@ -744,15 +744,10 @@ gtk_action_group_add_actions_full (GtkActionGroup       *action_group,
    * gtk_action_group_add_..._actions_full() functions.
    */
   guint i;
-  GtkTranslateFunc translate_func;
-  gpointer translate_data;
   SharedData *shared_data;
 
   g_return_if_fail (GTK_IS_ACTION_GROUP (action_group));
 
-  translate_func = action_group->private_data->translate_func;
-  translate_data = action_group->private_data->translate_data;
-
   shared_data = g_new0 (SharedData, 1);
   shared_data->ref_count = 1;
   shared_data->data = user_data;
@@ -764,16 +759,8 @@ gtk_action_group_add_actions_full (GtkActionGroup       *action_group,
       const gchar *label;
       const gchar *tooltip;
 
-      if (translate_func)
-       {
-         label = translate_func (entries[i].label, translate_data);
-         tooltip = translate_func (entries[i].tooltip, translate_data);
-       }
-      else
-       {
-         label = entries[i].label;
-         tooltip = entries[i].tooltip;
-       }
+      label = gtk_action_group_translate_string (action_group, entries[i].label);
+      tooltip = gtk_action_group_translate_string (action_group, entries[i].tooltip);
 
       action = gtk_action_new (entries[i].name,
                               label,
@@ -853,15 +840,10 @@ gtk_action_group_add_toggle_actions_full (GtkActionGroup             *action_gro
    * gtk_action_group_add_..._actions_full() functions.
    */
   guint i;
-  GtkTranslateFunc translate_func;
-  gpointer translate_data;
   SharedData *shared_data;
 
   g_return_if_fail (GTK_IS_ACTION_GROUP (action_group));
 
-  translate_func = action_group->private_data->translate_func;
-  translate_data = action_group->private_data->translate_data;
-
   shared_data = g_new0 (SharedData, 1);
   shared_data->ref_count = 1;
   shared_data->data = user_data;
@@ -873,16 +855,8 @@ gtk_action_group_add_toggle_actions_full (GtkActionGroup             *action_gro
       const gchar *label;
       const gchar *tooltip;
 
-      if (translate_func)
-       {
-         label = translate_func (entries[i].label, translate_data);
-         tooltip = translate_func (entries[i].tooltip, translate_data);
-       }
-      else
-       {
-         label = entries[i].label;
-         tooltip = entries[i].tooltip;
-       }
+      label = gtk_action_group_translate_string (action_group, entries[i].label);
+      tooltip = gtk_action_group_translate_string (action_group, entries[i].tooltip);
 
       action = gtk_toggle_action_new (entries[i].name,
                                      label,
@@ -974,32 +948,19 @@ gtk_action_group_add_radio_actions_full (GtkActionGroup            *action_group
    * gtk_action_group_add_..._actions_full() functions.
    */
   guint i;
-  GtkTranslateFunc translate_func;
-  gpointer translate_data;
   GSList *group = NULL;
   GtkRadioAction *first_action = NULL;
 
   g_return_if_fail (GTK_IS_ACTION_GROUP (action_group));
 
-  translate_func = action_group->private_data->translate_func;
-  translate_data = action_group->private_data->translate_data;
-
   for (i = 0; i < n_entries; i++)
     {
       GtkRadioAction *action;
       const gchar *label;
       const gchar *tooltip; 
 
-      if (translate_func)
-       {
-         label = translate_func (entries[i].label, translate_data);
-         tooltip = translate_func (entries[i].tooltip, translate_data);
-       }
-      else
-       {
-         label = entries[i].label;
-         tooltip = entries[i].tooltip;
-       }
+      label = gtk_action_group_translate_string (action_group, entries[i].label);
+      tooltip = gtk_action_group_translate_string (action_group, entries[i].tooltip);
 
       action = gtk_radio_action_new (entries[i].name,
                                     label,
@@ -1093,6 +1054,37 @@ gtk_action_group_set_translation_domain (GtkActionGroup *action_group,
                                       g_free);
 } 
 
+
+/**
+ * gtk_action_group_translate_string:
+ * @action_group: a #GtkActionGroup
+ * @string: a string
+ *
+ * Translates a string using the specified translate_func(). This
+ * is mainly intended for language bindings.
+ *
+ * Returns: the translation of @string
+ *
+ * Since: 2.6
+ **/
+G_CONST_RETURN gchar *
+gtk_action_group_translate_string (GtkActionGroup *action_group,
+                                  const gchar    *string)
+{
+  GtkTranslateFunc translate_func;
+  gpointer translate_data;
+  
+  g_return_val_if_fail (GTK_IS_ACTION_GROUP (action_group), string);
+  
+  translate_func = action_group->private_data->translate_func;
+  translate_data = action_group->private_data->translate_data;
+  
+  if (translate_func)
+    return translate_func (string, translate_data);
+  else
+    return string;
+}
+
 /* Protected for use by GtkAction */
 void
 _gtk_action_group_emit_connect_proxy  (GtkActionGroup *action_group,
index 75d9d070268aadc8ea3c565727a026de18be4d95..138ed03c22f03da8503af438997818c2e06339c4 100644 (file)
@@ -159,7 +159,8 @@ void            gtk_action_group_set_translate_func      (GtkActionGroup
                                                          GtkDestroyNotify            notify);
 void            gtk_action_group_set_translation_domain  (GtkActionGroup             *action_group,
                                                          const gchar                *domain);
-
+G_CONST_RETURN gchar *gtk_action_group_translate_string  (GtkActionGroup             *action_group,
+                                                         const gchar                *string);
 
 /* Protected for use by GtkAction */
 void _gtk_action_group_emit_connect_proxy    (GtkActionGroup *action_group,